// TODO: Move application.h to RuntimeEnvironment.

#ifndef CNC_RTL_APPLICATION_H
#define CNC_RTL_APPLICATION_H

namespace cnc {

	namespace rtl {

		class Application
		{
			static Application *instance_;
		public:
			Application()
			{
				instance_ = this;
			}
			static Application *instance()
			{
				return instance_;
			}
			virtual int main() = 0;
		};

		extern "C" Application *getApplication();

	} // namespace rtl

} // namespace cnc

#endif
